package web.javas.util;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class MybatisUtil {
	public static SqlSession getSqlSession(){
		// 1. 获取类对象 clazz
		Class clazz = MybatisUtil.class;

		// 2. 通过类对象clazz  获取 类 加载器
		ClassLoader classLoader = clazz.getClassLoader();

		//3. 通过类加载器 获取资源文件
		InputStream inputStream = classLoader.getResourceAsStream("mybatis-config.xml");

		// 4.创建 构建器  对象
		SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

		// 5. 通过 构建器  对象  可以获取 sqlSessionFactory
		SqlSessionFactory sqlSessionFactory = builder.build(inputStream);

		// 6. 通过sqlSessionFactory 获取 sqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession(true);
		//log.info("sqlSession:" + sqlSession);

		// 7. 返回 sqlSession对象
		return sqlSession;
	}
}
